package com.ruoyi.galaxy.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 银河票务用户 galaxy_user
 * 
 * @author ruoyi
 */
public class GalaxyUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户主键 */
    @Excel(name = "用户主键", cellType = ColumnType.NUMERIC)
    private Long userId;

    /** 用户账号 */
    @Excel(name = "用户账号")
    private String userAccount;

    /** mz操作id */
    @Excel(name = "mz操作id")
    private String mzOperateId;

    /** x mz session */
    @Excel(name = "x mz session")
    private String xMzSession;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    public Long getUserId()
    {
        return userId;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    @NotBlank(message = "用户账号不能为空")
    @Size(min = 0, max = 100, message = "用户账号长度不能超过100个字符")
    public String getUserAccount()
    {
        return userAccount;
    }

    public void setUserAccount(String userAccount)
    {
        this.userAccount = userAccount;
    }

    @NotBlank(message = "mz操作id不能为空")
    @Size(min = 0, max = 100, message = "mz操作id长度不能超过100个字符")
    public String getMzOperateId()
    {
        return mzOperateId;
    }

    public void setMzOperateId(String mzOperateId)
    {
        this.mzOperateId = mzOperateId;
    }

    @NotBlank(message = "mz操作id不能为空")
    @Size(min = 0, max = 100, message = "mz操作id长度不能超过100个字符")
    public String getxMzSession()
    {
        return xMzSession;
    }

    public void setxMzSession(String xMzSession)
    {
        this.xMzSession = xMzSession;
    }

    public String getStatus()
    {
        return status;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("userAccount", getUserAccount())
            .append("mzOperateId", getMzOperateId())
            .append("xMzSession", getxMzSession())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
